package com.qfjy.controller.example3;

import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;

/**
 * @ClassName WeatherController
 * @Description TODO 气象局发布天气预报信息
 * @Author guoweixin
 * @Date 2022/11/22
 * @Version 1.0
 */
@RequestMapping("weather")
@ResponseBody
@Controller
@Slf4j
public class WeatherController {


    @Autowired
    private AmqpTemplate amqpTemplate;

    /**
     * TODO 天报预报 信息发布
     */
    @GetMapping("sendWeatherInfo")
    public String sendWeatherInfo(HttpServletRequest request){

        String city=request.getParameter("city");
        //1、调用气象局城市天气预报信息
        String msg="2022年11月22日，天气小雨转阴。有雾。";
        log.info("气象局城市天气预报信息：{},{}",city,msg);


        Map<String,Object> map=new HashMap<>();
        map.put("msg",msg);
        map.put("city",city);
        //2 Rabbitmq 队列   this.exchange, routingKey, object
        /**
         * param1: 交换机名称
         * param2: 路由KEY
         * param3:数据传输载体 （底层是二进制传输）
         */
        amqpTemplate.convertAndSend("weatherFanoutExchange",null,map);

        return "天气预报发送成功+";
    }



}
